.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" References consulted:
.\"     Linux libc source code
.\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\"     386BSD man pages
.\" Modified 1993-04-12, David Metcalfe
.\" Modified 1993-07-24, Rik Faith (faith@cs.unc.edu)
.\" Modified 2002-01-20, Walter Harms
.TH bstring 3 2023-10-31 "Linux man-pages 6.06"
.SH NAME
bcmp, bcopy, bzero, memccpy, memchr, memcmp, memcpy, memfrob, memmem,
memmove, memset \- byte string operations
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <string.h>
.P
.BI "int bcmp(const void " s1 [. n "], const void " s2 [. n "], size_t " n );
.P
.BI "void bcopy(const void " src [. n "], void " dest [. n "], size_t " n );
.P
.BI "void bzero(void " s [. n "], size_t " n );
.P
.BI "void *memccpy(void " dest [. n "], const void " src [. n "], int " c ", \
size_t " n );
.P
.BI "void *memchr(const void " s [. n "], int " c ", size_t " n );
.P
.BI "int memcmp(const void " s1 [. n "], const void " s2 [. n "], size_t " n );
.P
.BI "void *memcpy(void " dest [. n "], const void " src [. n "], size_t " n );
.P
.BI "void *memfrob(void " s [. n "], size_t " n );
.P
.BI "void *memmem(const void " haystack [. haystacklen "], size_t " haystacklen ,
.BI "             const void " needle [. needlelen "], size_t " needlelen );
.P
.BI "void *memmove(void " dest [. n "], const void " src [. n "], size_t " n );
.P
.BI "void *memset(void " s [. n "], int " c ", size_t " n );
.fi
.SH DESCRIPTION
The byte string functions perform operations on strings (byte arrays)
that are not necessarily null-terminated.
See the individual man pages
for descriptions of each function.
.SH NOTES
The functions
.BR bcmp ()
and
.BR bcopy ()
are obsolete.
Use
.BR memcmp ()
and
.BR memmove ()
instead.
.\" The old functions are not even available on some non-GNU/Linux systems.
.SH SEE ALSO
.BR bcmp (3),
.BR bcopy (3),
.BR bzero (3),
.BR memccpy (3),
.BR memchr (3),
.BR memcmp (3),
.BR memcpy (3),
.BR memfrob (3),
.BR memmem (3),
.BR memmove (3),
.BR memset (3),
.BR string (3)
